package com.gt.wxpay.cashier.payChannel.application;

import com.gt.wxpay.cashier.domain.model.PayTypeEnum;
import com.gt.wxpay.cashier.payChannel.domain.model.PayChannel;
import com.wechat.pay.java.core.Config;
import com.wechat.pay.java.core.notification.NotificationConfig;

/**
 * packageName com.gt.wxpay.cashier.payment
 *
 * @author GuoTong
 * @version JDK 8
 * @className WxConfigService
 * @date 2024/3/16
 * @description 初始化系统配置微信
 */
public interface WxConfigService {

    /**
     * 获取渠道的配置--微信
     *
     * @param channelId channelId
     * @return Config
     */
    Config getWxConfig(Long channelId);


    /**
     * 获取渠道的配置--微信
     *
     * @param payTypeEnumType PayTypeEnumType
     * @return Config
     */
    Config getWxConfig(PayTypeEnum payTypeEnumType);
    /**
     * 微信支付回调验签配置
     *
     * @return NotificationConfig
     */
    NotificationConfig getCallBackConfig(Long channelId);



    /**
     * 微信支付回调验签配置
     *
     * @return NotificationConfig
     */
    NotificationConfig getCallBackConfig(PayTypeEnum payTypeEnumType);


    /**
     * 获取渠道的配置--渠道自身信息
     *
     * @param channelId
     * @return
     */
    PayChannel getPayChannel(Long channelId);


    String getWxCallBackUrl(boolean isRefund);
}
